import request from '@/utils/request.js'

// 座位分页查询
// @function fetchSeatPage
// @description 管理员分页查询座位，支持影院ID、影厅、座位号、类型筛选
// @param {Object} params - 查询参数 { pageNo, pageSize, cinemaId?, hallName?, seatNo?, seatType? }
// @returns {Promise} 分页列表数据
export function fetchSeatPage(params) {
  return request({
    url: '/admin/seat/page',
    method: 'get',
    params,
  })
}

// 根据ID获取座位详情
// @function getSeatById
// @description 管理员根据座位ID获取详情
// @param {number|string} id - 座位ID
// @returns {Promise} 座位详情
export function getSeatById(id) {
  return request({
    url: `/admin/seat/${id}`,
    method: 'get',
  })
}

// 新增座位
// @function createSeat
// @description 管理员新增座位，支持自动填充影院名称
// @param {Object} data - 座位对象 { cinemaId, hallName, seatNo, seatType }
// @returns {Promise} 创建结果
export function createSeat(data) {
  return request({
    url: '/admin/seat/create',
    method: 'post',
    data,
  })
}

// 更新座位
// @function updateSeat
// @description 管理员更新座位信息
// @param {Object} data - 座位对象 { id, cinemaId, hallName, seatNo, seatType }
// @returns {Promise} 更新结果
export function updateSeat(data) {
  return request({
    url: '/admin/seat/update',
    method: 'put',
    data,
  })
}

// 删除座位
// @function deleteSeat
// @description 管理员删除指定ID座位（后端：DELETE /admin/seat/{id}）
// @param {number|string} id - 座位ID
// @returns {Promise} 删除结果
export function deleteSeat(id) {
  return request({
    url: `/admin/seat/${id}`,
    method: 'delete',
  })
}

// 批量删除座位
// @function batchDeleteSeat
// @description 管理员批量删除座位（后端：DELETE /admin/seat/batch，Body: List<Long>）
// @param {Array<number|string>} ids - 座位ID数组
// @returns {Promise} 批量删除结果
export function batchDeleteSeat(ids) {
  return request({
    url: '/admin/seat/batch',
    method: 'delete',
    data: ids,
  })
}